##CREATE DB LOCADORA; CREATE TABLE (nome VARCHAR (100), cpf VARCHAR (11),
##                                  endereco VARCHAR (100) CPF KEY PRIMARY);
# -*- coding: cp1252 -*-
#FEITA POR EDUARDO JOSE
from classeCliente import *

class Repositorio_Cliente:
    
          
    def cadastrar(self,cliente): #FUNCAO OK!
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        
        sql = ('INSERT INTO cliente (cpf,nome,endereco) VALUES ("%s","%s","%s")'%(cliente.getCpf(),cliente.getNome(),cliente.getEndereco()))
        cursor.execute(sql)
        db.commit() #Registra as mudancas no banco de dados
        db.close()
        print("CADASTRO EFETUADO COM SUCESSO!")

        
##            db.rollback()
##            print 'ERRO NA CONEXAO COM BANCO DE DADOS'
            
    def pesquisar(self):#FUNCAO OK!
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        nome = raw_input("NOME:\n")
        sql = ('SELECT * FROM cliente WHERE nome = "%s"'%(nome))
        cursor.execute(sql)
        rs = cursor.fetchall()#seleciona as linhas que contem esse nome
        
        if(rs == ()):#SE NAO LOCALIZAR O CLIENTE
            print("CLIENTE NAO LOCALIZADO.\n")
                      
        else:
            for row in rs:
                idcli = row[3]
                cpf = row[0]
                nome = row[1]
                endereco = row[2]
                #O PRINT TEM QUE SER DENTRO DO FOR PARA ELE RETORNAR TODOS OS NOMES
                #IGUAIS QUE O FUNCIONARIO CONSULTAR.
                print ("CPF: %s | NOME: %s | ENDERECO: %s | ID: %s" %(cpf,nome,endereco,idcli))


    def remover(self): #FUNCAO OK!
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        rep = Repositorio_Cliente()
        rep.pesquisar()         
        print 'ATENCAO: REMOVA PELO VALOR DO ID DO CLIENTE. CASO NAO SEJA LOCALIZADO OU NAO QUEIRA REMOVER, DIGITE 0 PARA SAIR.'
        idcli = raw_input('ID que deseja remover: \n')        
        sql = 'DELETE FROM cliente WHERE id = "%s"' %(idcli)
        cursor.execute(sql)
        db.commit()
        db.close()
        print 'CLIENTE REMOVIDO'

    def exibirTodos(self):
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        rs = cursor.fetchall()
        for row in rs:
            print row
        
    def editarnome(self): #FUNCAO OK!
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        rep = Repositorio_Cliente()
        rep.pesquisar()
        print("CASO O CLIENTE NAO SEJA LOCALIZADO, DIGITE 0 E DEPOIS <ENTER>PARA SAIR.")
        idcli = raw_input("Digite o ID do cliente que deseja editar: ")
        if(idcli == 0):
            print "CLIENTE NAO LOCALIZADO"
            #VERIFICAR ISSO!
        else:
            NovoNome = raw_input("Digite o novo NOME do cliente: \n").upper()
            sql = 'UPDATE cliente SET nome = "%s" WHERE id = "%s"'%(NovoNome,idcli)
            cursor.execute(sql)
            db.commit()
            db.close()
            print("DADOS ATUALIZADOS COM SUCESSO.")

    def editarcpf(self):#FUNCAO OK!
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        rep = Repositorio_Cliente()
        rep.pesquisar()
        print("CASO O CLIENTE NAO SEJA LOCALIZADO, DIGITE 0 E DEPOIS <ENTER> PARA SAIR.")
        idcli = raw_input("Digite o ID do cliente que deseja editar: ")
        if(idcli == 0):
            print "CLIENTE NAO LOCALIZADO"
            #VERIFICAR ISSO!
        else:
            NovoCPF = raw_input("Digite o novo CPF do cliente: \n")
            sql = 'UPDATE cliente SET cpf = "%s" WHERE id = "%s"'%(NovoCPF,idcli)
            cursor.execute(sql)
            db.commit()
            db.close()
            print("DADOS ATUALIZADOS COM SUCESSO.")


    def editarendereco(self):#FUNCAO OK!
        import MySQLdb
        db = MySQLdb.connect('localhost','root','root')
        db.select_db('locadora')
        cursor = db.cursor()
        rep = Repositorio_Cliente()
        rep.pesquisar()
        print("CASO O CLIENTE NAO SEJA LOCALIZADO, DIGITE 0 E DEPOIS <ENTER> PARA SAIR.")
        idcli = raw_input("Digite o ID do cliente que deseja editar: ")
        if(idcli == 0):
            print "CLIENTE NAO LOCALIZADO"
            #VERIFICAR ISSO!
        else:
            NovoEndereco = raw_input("Digite o novo ENDERECO do cliente: \n").upper()
            sql = 'UPDATE cliente SET endereco = "%s" WHERE id = "%s"'%(NovoEndereco,idcli)
            cursor.execute(sql)
            db.commit()
            db.close()
            print("DADOS ATUALIZADOS COM SUCESSO.")

       
              

##rep=Repositorio_Cliente()
##rep.editarendereco()
